In a packet-based switching system an essential building block for the system is a switch, a term used herein for a multiple-port network device having ports capable of transmitting and/or receiving addressed packets to and from an external network and at least one ‘fabric’ port by means of which it is connected to at least one other device in a switching fabric.
The term ‘switching fabric’ is a compendious term which is intended to cover such earlier terms as ‘stack’ and ‘cascade’. In stacked or cascaded systems, a plurality of switching devices have a mutual connection, originally in the form of a ring but more recently in the form of a mesh, which serves to convey packets between the devices or ‘units’ in the mesh and also, either by means of the same data path or by a separate control path, allows the passage of control or management signals between the units so that they constitute, for example, a single large switch which has available to it substantially all the aggregate of ports possessed by the individual units making up the switching fabric.
The term ‘stack’ originally arose because units connected together in this general way were designed to be physically stacked one upon the other. The term ‘cascade’ arose because in communication terms the units had a cascade connection whereby packets received at one unit and intended for transmission from another unit in the stack followed a path that visited the units in turn until the relevant unit having the desired egress port was reached, the connection of the units for this purpose resembling a cascade. Both terms are still appropriate in a figurative sense though it needs to be emphasized that an important aspect of the present invention is the connection of the units in a mesh fabric, so that the units will neither be physically stacked nor be connected, strictly speaking, in ‘cascade’.
Although the term ‘switch’ is used herein for convenience, it needs to be emphasized that the term is used generally in relation to a device which can receive packets, examine address data therein, and, optionally subject to various forwarding or processing rules, direct them out of a port on the same unit or direct them out of a ‘fabric’ port to another unit in the switching fabric. In some systems of this nature, the unit that receives the packet will perform ‘source routing’, that is to say it will determine the final destination port before it transmits the packet out of a fabric port. However, this facility is not possessed by all units that can be accommodated into a switching fabric and one of the objects of the present invention is to accommodate units which both have and do not have a source routing facility.
Versatility of switching fabrics requires that the units may be located considerable distances apart and that they are interconnected by a mesh. As for general communication networks, the creation of loops is inherent in meshes and accordingly when configuring or providing resilience in a switching fabric, measures need to be taken to avoid, physically or dynamically, loops in the mesh.